// pages/connect/connect.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    steps: [
      {
        text: '正在获取WiFi信息',
      },
      {
        text: '正在初始化WiFi',
      },
      {
        text: '正在连接WiFi',
      },
      {
        text: 'WiFi连接成功',
      },
    ],
    iconCss: { 0: 'rotate', 1: 'success-c', 2: 'fail-c' },
    connnectState: 0,//0:正在连接，1:连接成功，2:连接失败重试
    active: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const scene = decodeURIComponent(options.scene)
    // const scene = "64956e862a9427ced1dd0851e8ec889f";
    wx.cloud.callFunction({
      name: 'getWifiInfo',
      data: {
        scene,
        wifiInfo: '',
      }
    }).then(res => {
      this.data.wifiInfo = res.result.data;
      this.connectWifi();
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  connectWifi() {
    this.setData({
      connnectState: 0,
      active: 1
    })
    const wifiInfo = this.data.wifiInfo;
    if (wifiInfo.length != 0) {
      wx.startWifi({
        success: res => {
          console.log('wifi初始化完成', res)
          this.setData({
            active: 2
          })
          wx.connectWifi({
            SSID: wifiInfo[0].wifiName,
            password: wifiInfo[0].wifiPwd,
            success: res => {
              console.log(res)
              this.setData({
                connnectState: 1,
                active: 3
              })
            },
            fail: res => {
              console.log(res)
              const errCode = app.globalData.errCode;
              app.toast(errCode[res.errCode], res)
              this.setData({
                connnectState: 2
              })
            }
          })
        }
      })

    } else {
      this.setData({
        connnectState: 2
      })
      wx.showModal({
        title: '无效的WiFi码',
        content: '是否重新创建WiFi码？',
        success: res => {
          if (res.confirm) {
            this.toWifiList();
          } else if (res.cancel) {
            console.log('用户点击取消')
          }
        }
      })
    }
  },
  toWifiList() {
    wx.getSystemInfo({
      success:res => {
        this.setData({
          systemInfo:res,
        })
        if(res.platform == "devtools"){
            wx.showToast({
              title: '电脑端暂时不支持此功能',
              icon:'none'
            })
        }else if(res.platform == "ios"){
          wx.showToast({
            title: '苹果端暂时不支持创建WiFi',
            icon:'none'
          })
        }else if(res.platform == "android"){
          wx.navigateTo({
            url: '../WiFiList/WiFiList',
          })
        }
      }
    })
  }
})